package com.qn.service;

import com.qn.entity.DueOutMail;
import com.qn.entity.Sendnumbers;

import java.util.List;
import java.util.Queue;

/**
 * @author olo
 */
public interface MailPushService {
    /**
     * 程序发送邮件
     *
     * @param receiveEmail 接收者
     * @param mailTitle    邮件标题
     * @param mailContent  邮件内容
     * @return 是否发送成功
     */
    Boolean branchSend(String receiveEmail, String mailTitle, String mailContent);

    /**
     * 获得发送队列
     *
     * @return 获得邮件发送的状态
     */
    Queue<DueOutMail> getMailSendQueue();

    /**
     * 添加队列
     *
     * @param mail 邮件对象
     */
    void pushSendQueue(DueOutMail mail);

    /**
     * 查询所有发件人账号
     *
     * @param id 有则按单个查询
     * @return 发件人集合
     */
    List<Sendnumbers> getSendEmails(Integer id);

    /**
     * 删除收件人
     *
     * @param id 收件人编号
     * @return 影响行数
     */
    Integer deleteThisSender(Integer id);

    /**
     * 添加收件人
     *
     * @param sendnumbers 收件人
     * @return 是否添加成功
     */
    boolean addOneSender(Sendnumbers sendnumbers);

    /**
     * 修改收件人
     *
     * @param sendnumbers 收件人
     * @return 是否修改成功
     */
    boolean editThisSender(Sendnumbers sendnumbers);

}
